Improved design method of two-stage frm filter

ABSTRACT

An improved design method of a two-stage FRM filter includes the following steps: constructing an improved two-stage FRM filter; calculating passband and stopband edge parameters of a prototype filter, passband and stopband edge parameters of a second-stage masking filter and passband and stopband edge parameters of a first-stage masking filter in Case A and Case B, respectively; calculating the complexity of the FRM filter according to the obtained parameters, and finding out one or more sets [M, P, Q] having the lowest complexity within a search range; and optimizing the improved FRM filter. The improved design method of a two-stage FRM filter has the following beneficial effect: as compared to a conventional design method of a two-stage FRM filter, the complexity of a narrow-band FIR (Finite Impulse Response) filter can be reduced through design using the improved method, and power consumption is thus reduced in hardware implementation.

FIELD OF THE INVENTION

The present invention relates to an improved design method of a two-stage FRM filter.

BACKGROUND OF THE INVENTION

Frequency response masking (FRM) is an efficient method for designing an FIR (Finite Impulse Response) filter having a narrow transition band characteristic. When a filter has a narrow transition band, multi-stage FRM may be utilized to further reduce its complexity.

A filter is composed of a prototype filter H_(a)(z) and two masking filters H_(ma)(z), H_(mc)(z). The transition band of the filter is provided by an interpolation filter H_(a)(z^(M)) or its complement

$\left( {z^{- \frac{M{({N_{a} - 1})}}{2}} - {H_{a}\left( z^{M} \right)}} \right)$

where M is an interpolation factor for H_(a)(z). The purpose of using two masking filters H_(ma)(z) and H_(mc)(z) is to remove unnecessary periodic sub-bands.

Two-stage FRM filters are widely used in practice. The structure of a two-stage FRM filter is as shown in FIG. 2. A transition band shaping filter is represented by G(z). A constraint condition for interpolation factors M, P, Q is as follows:

M=kP=kQ  (3).

At present, various improvements made to the two-stage FRM filters are based on the assumption of the equation (3). The satisfaction of the equation (3) leads to a direct problem that the second-stage output must be a periodic amplitude response. However, the second-stage output does not have to be periodic as long as it provides a desired transition band for a target filter. Therefore, the complexity of an FRM filter can be further reduced if the values of the three factors can be found in a wider range.

SUMMARY OF THE INVENTION

The present invention aims at solving the above problem and provides an improved design method of a two-stage FRM filter.

In order to achieve the above objective, the present invention employs the following technical scheme.

An improved design method of a two-stage FRM filter comprises the following steps:

(1) constructing an improved two-stage FRM filter having a transfer function H(z) as follows:

H(z)=G(z)H _(ma) ⁽¹⁾(z)+(1−G(z))H _(mc) ⁽¹⁾(z),

wherein G(z)=H_(a) ⁽²⁾(z^(M))H_(ma) ⁽²⁾(z^(P))+(1−H_(a) ⁽²⁾(z^(M))H_(mc) ⁽²⁾(z^(Q)), without any constraint among interpolation factors M, P, Q; H_(a) ⁽²⁾(z^(M)) represents a prototype filter, while H_(ma) ⁽¹⁾(z) and H_(mc) ⁽²⁾(z) represent first-stage masking filters, respectively, and H_(ma) ⁽²⁾(z^(P)) and H_(mc) ⁽²⁾(z^(Q)) represent second-stage masking filters, respectively;

(2) searching within a search range for [M, P, Q], and for a certain set [M, P, Q], calculating passband and stopband edge parameters of the prototype filter H_(a) ⁽²⁾(z), passband and stopband edge parameters of the second-stage masking filters and passband and stopband edge parameters of the first-stage masking filters in Case A and Case B, respectively, on the basis that a transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)) or a complement of H_(a) ⁽²⁾(z^(M)); and

calculating the complexity of the FRM filter according to the obtained parameters, and finding out one or more sets [M, P, Q] having the lowest complexity within the search range;

(3) optimizing the improved FRM filter according to the calculated filter parameters. A way of calculating the passband edge θ_(a) and the stopband edge φ_(a) of the prototype filter H_(a) ⁽²⁾(z^(M)) in the step (2) is as follows:

when the transition band of the whole filter is H_(a) ⁽²⁾(z^(M)), i.e., in the Case A:

m=└ω _(p) M/2π┘,

θ_(a)=ω_(p) M−2mπ,

φ_(a)=ω_(s) M−2mπ;

when the transition band of the whole filter is the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B:

m=┌ω _(s) M/2π┐,

θ_(a)=2mπ−ω _(s) M,

φ_(a)=2mπ−ω _(p) M;

wherein └x┘ represents a largest integer not more than x; ┌x┐ represents a smallest integer not less than x; whether the result satisfies 0<θ_(a)<φ_(a)<π is determined in the two cases respectively, and if not, the results are abandoned.

Passbands of H_(a) ⁽²⁾(Mω) from 0 to π in the step (2) are orderly represented by 0, 2, . . . ,

${2 \times \left\lfloor \frac{M}{2} \right\rfloor},$

and passbands of 1−H_(a) ⁽²⁾(Mω) from 0 to π are orderly represented by 1, 3, . . . ,

${2 \times \left\lfloor \frac{M - 1}{2} \right\rfloor};$

assuming that the passband labeled as 2m of H_(a) ⁽²⁾(Mω) provides the transition band, the passband of the masking filter from which the transition band is extracted is defined as an effective passband; and in order to reduce the complexity of the two first-stage masking filters, the following restrictive conditions are established: the passband 2m should be at least completely extracted; the passband 2(m+1) should be completely fall outside an effective passband range.

When the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A, a way of calculating the passband edge ω_(pma) ⁽²⁾ and the stopband edge ω_(sma) ⁽²⁾ of the second-stage masking filter H_(ma) ⁽²⁾(z) is as follows:

(1) when masking is provided by H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=A:

$\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - {\omega_{1}P}},{{\omega_{2}P} - {2\pi \; p}}} \right)}} \\ {\omega_{sma}^{(2)} = {{\omega_{3}P} - {2\pi \; p}}} \end{matrix};} \right.$

(2) when masking is provided by the complement of H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=B:

$\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {{2\pi \; p} - {\omega_{2}P}}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{1}P} - {2{\pi \left( {p - 1} \right)}}},{{2\pi \; p} - {\omega_{2}P}}} \right)}} \end{matrix};} \right.$

wherein ω₁ is a left edge of the passband 2m of the prototype filter, while ω₂ is a right edge of the passband 2m of the prototype filter, and ω₃ is a left edge of the passband 2(m+1) of the prototype filter; P is the interpolation factor, which is a given value; p is an integer, and should satisfy the following condition:

${0 \leq p \leq \left\lfloor \frac{P}{2} \right\rfloor};$

if no p satisfying the condition exists, the set of parameters is abandoned.

When the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A, a way of calculating the passband edge ω_(pmc) ⁽²⁾ and the stopband edge ω_(smc) ⁽²⁾ of the second-stage masking filter H_(mc) ⁽²⁾(z) is as follows:

(1) when masking is provided by H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=A:

$\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{4}P}},{{\omega_{5}P} - {2\pi \; q}}} \right)}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{6}Q} - {2\pi \; q}},{{2{\pi \left( {q + 1} \right)}} - {\omega_{7}Q}}} \right)}} \end{matrix};} \right.$

(2) when masking is provided by the complement of H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=B:

$\left\{ {\begin{matrix} {\omega_{pmc}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{6}Q}},{{\omega_{7}Q} - {2\pi \; q}}} \right)}} \\ {\omega_{smc}^{(2)} = {\min \left( {{{\omega_{4}Q} - {2\pi \; \left( {q - 1} \right)}},{{2\pi \; q} - {\omega_{5}Q}}} \right)}} \end{matrix};} \right.$

wherein ω₄ is a left passband edge of the complementary filter passband 2m−1 of the prototype filter; ω₅ is a right stopband edge of the complementary filter passband 2m−1 of the prototype filter; ω₆ is a left passband edge of the complementary filter passband 2m+1 of the prototype filter; ω₇ is a right stopband edge of the complementary filter passband 2m+1 of the prototype filter; q is an integer, and should satisfy the following condition:

${0 \leq q \leq \left\lfloor \frac{q}{2} \right\rfloor};$

if no q satisfying the condition exists, the set of parameters is abandoned.

When the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B, a way of calculating the passband edge ω_(pma) ⁽²⁾ and the stopband edge ω_(sma) ⁽²⁾ of the second-stage masking filter H_(ma) ⁽²⁾(z) is as follows:

(1) when masking is provided by H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=A:

$\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - {P\; \omega_{4}}},{{\omega_{5}P} - {2\pi \; p}}} \right)}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{6}P} - {2\pi \; p}},{{2{\pi \left( {p + 1} \right)}} - {\omega_{7}P}}} \right)}} \end{matrix};} \right.$

(2) when masking is provided by the complement of H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=B:

$\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - {\omega_{6}P}},{{\omega_{7}P} - {2\pi \; p}}} \right)}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{4}P} - {2\pi \; \left( {p - 1} \right)}},{{2\pi \; p} - {\omega_{5}P}}} \right)}} \end{matrix};} \right.$

wherein ω₄ is a left passband edge of the passband 2(m−1) of the prototype filter; ω₅ is a right stopband edge of the passband 2(m−1) of the prototype filter; ω₆ is a left passband edge of the passband 2m of the prototype filter; ω₇ is a right stopband edge of the passband 2m of the prototype filter; p is an integer, and should satisfy the following condition:

${0 \leq p \leq \left\lfloor \frac{P}{2} \right\rfloor};$

if no p satisfying the condition exists, the set of parameters is abandoned.

When the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B, a way of calculating the passband edge ω_(pmc) ⁽²⁾ and the stopband edge ω_(smc) ⁽²⁾ of the second-stage masking filter H_(ma) ⁽²⁾(z) is as follows:

(1) when masking is provided by H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=A:

$\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{1}Q}},{{\omega_{2}Q} - {2\pi \; q}}} \right)}} \\ {\omega_{sma}^{(2)} = {{\omega_{2}Q} - {2\pi \; q}}} \end{matrix};} \right.$

(2) when masking is provided by the complement of H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=B:

$\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {{2\pi \; q} - {\omega_{2}Q}}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{1}Q} - {2{\pi \left( {q - 1} \right)}}},{{2\pi \; q} - {\omega_{2}Q}}} \right)}} \end{matrix};} \right.$

wherein ω₁ is a left stopband edge of the complementary filter passband 2m−1 of the prototype filter; ω₂ is a right passband edge of the complementary filter passband 2m−1 of the prototype filter; ω₃ is a left stopband edge of the complementary filter passband 2m+1 of the prototype filter; q is an integer, and should satisfy the following condition:

${0 \leq q \leq \left\lfloor \frac{q}{2} \right\rfloor};$

if no q satisfying the condition exists, the set of parameters is abandoned.

When the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A:

the passband edge ω_(pma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is equal to ω_(p); a way of calculating the stopband edge ω_(sma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is as follows:

ω_(sma)⁽¹⁾ = min (ω_(sma _ temp 1)⁽¹⁾, ω_(sma _ temp 2)⁽¹⁾), wherein $\omega_{{sma}\; \_ \; {temp}\; 1}^{(1)} = \left\{ {\begin{matrix} t_{1} & {t_{1} \notin {R_{stop}(k)}} \\ \omega_{8} & {t_{1} \in {R_{stop}\left( k_{1} \right)}} \end{matrix},{\omega_{{sma}\; \_ \; {temp}\; 2}^{(1)} = \left\{ {\begin{matrix} t_{2} & {t_{2} \notin {R_{pass}(k)}} \\ \omega_{9} & {t_{2} \in {R_{pass}\left( k_{2} \right)}} \end{matrix},{{\omega_{\theta} = {\left( {{2\pi \; k_{1}} = \phi_{a}} \right)/M}};{\omega_{9} = {\left( {{2\pi \; k_{2}} - \theta_{a}} \right)/M}};{{R_{pass}(k)} = \left\lbrack {\frac{{2\pi \; k} - \theta_{a}}{M},\frac{{2\pi \; k} + \theta_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;{{R_{stop}(k)} = \left\lbrack {\frac{{2\pi \; \left( {k - 1} \right)} + \phi_{a}}{M},\frac{{2\pi \; k} + \phi_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;}} \right.}} \right.$

(1) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band of an up-branch,

t ₁=(2π(p+1)−ω_(sma) ⁽²⁾)/P;

(2) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking the unnecessary band of the up-branch,

t ₁=(2πp+ω _(pma) ⁽²⁾)/P;

(3) when H_(mc) ⁽²⁾(Z^(Q)) is used for masking unnecessary band of a down-branch,

t ₂=(2π(q+1)−ω_(smc) ⁽²⁾)/Q;

(4) when a down-branch complement of H_(mc) ⁽²⁾(Z^(Q)) is used for masking unnecessary band,

t ₂=(2πq+ω _(pma) ⁽²⁾)/Q;

wherein P, Q, M are interpolation factors; ω₈ is a right endpoint of R_(stop)(k₁); k₁ is an integer satisfying t₁εR_(stop)(k₁); ω₉ is a right endpoint of R_(pass)(k₂); k₂ is an integer satisfying t₂εR_(stop)(k₂); θ_(a) is a passband edge of H_(a) ⁽²⁾(z); H_(ma) ⁽¹⁾(z)φ_(a) is a stopband edge of H_(a) ⁽²⁾(z).

When the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B:

the passband edge ω_(pma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is equal to ω_(p); a way of calculating the stopband edge ω_(sma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is as follows:

ω_(sma)⁽¹⁾ = min (ω_(sma _ temp 1)⁽¹⁾, ω_(sma _ temp 2)⁽¹⁾), wherein $\omega_{{sma}\; \_ \; {temp}\; 1}^{(1)} = \left\{ {\begin{matrix} t_{1} & {t_{1} \notin {R_{stop}(k)}} \\ \omega_{8} & {t_{1} \in {R_{stop}\left( k_{1} \right)}} \end{matrix},{\omega_{{sma}\; \_ \; {temp}\; 2}^{(1)} = \left\{ {\begin{matrix} t_{2} & {t_{2} \notin {R_{pass}(k)}} \\ \omega_{9} & {t_{2} \in {R_{pass}\left( k_{2} \right)}} \end{matrix},{{\omega_{\theta} = {\left( {{2\pi \; k_{1}} = \theta_{a}} \right)/M}};{\omega_{9} = {\left( {{2\pi \; k_{2}} - \phi_{a}} \right)/M}};{{R_{pass}(k)} = \left\lbrack {\frac{{2\pi \; k} - \theta_{a}}{M},\frac{{2\pi \; k} + \theta_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;{{R_{stop}(k)} = \left\lbrack {\frac{{2\pi \; \left( {k - 1} \right)} + \phi_{a}}{M},\frac{{2\pi \; k} + \phi_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;}} \right.}} \right.$

(1) when H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band,

t ₁=(2π(q+1)−ω_(smc) ⁽²⁾)/Q;

(2) when the complement of H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band,

t ₁=(2πq+ω _(pma) ⁽²⁾)/Q;

(3) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band,

t ₂=(2π(p+1)−ω_(sma) ⁽²⁾)/P;

(4) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band,

t ₂=(2πp+ω _(pma) ⁽²⁾)/P;

wherein ω₈ is a right endpoint of R_(stop)(k₁); k₁ is an integer satisfying t₁εR_(stop)(k₁); ω₉ is a right endpoint of R_(pass)(k₂); k₂ is an integer satisfying t₂εR_(stop)(k₂); P, Q, M are interpolation factors; θ_(a) is a passband edge of H_(a) ⁽²⁾(z); H_(ma) ⁽¹⁾(z)φ_(a) is a stopband edge of H_(a) ⁽²⁾(z).

(1) When the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A:

the stopband edge ω_(smc) ⁽¹⁾ of the first-stage masking filter H_(mc) ⁽¹⁾(z) is equal to ω_(s); a way of determining the passband edge ω_(pmc) ⁽¹⁾ of the first-stage masking filter H_(mc) ⁽¹⁾(z) is as follows: if t₃≧t₄, then

$\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{3} & {t_{3} \notin {R_{stop}(k)}} \\ {\max \left( {\frac{{2\pi \; \left( {k_{3} - 1} \right)} + \phi_{a}}{M},t_{4}} \right)} & {t_{3} \in {R_{stop}\left( k_{3} \right)}} \end{matrix};} \right.$

if t₃<t₄, then

$\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{4} & {t_{4} \notin {R_{pass}(k)}} \\ {\max \left( {\frac{{2\pi \; k_{4}} - \theta_{a}}{M},t_{3}} \right)} & {t_{4} \in {R_{pass}\left( k_{4} \right)}} \end{matrix};} \right.$

(a) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band,

t ₃=(2πp−ω _(pma) ⁽²⁾)/P;

(b) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band,

t ₃=(2π(p−1)+ω_(sma) ⁽²⁾)/P;

(c) when H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band,

t ₄=(2πq−ω _(pmc) ⁽²⁾)/Q;

(d) when the complement of H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band,

t ₄=(2π(q−1)+ω_(sma) ⁽²⁾)/Q;

(2) When the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B:

the stopband edge ω_(smc) ⁽¹⁾ to of the first-stage masking filter H_(mc) ⁽¹⁾(z) is equal to ω_(s); a way of determining the passband edge ω_(pmc) ⁽¹⁾ of the first-stage masking filter H_(mc) ⁽¹⁾(z) is as follows: if t₃≧t₄, then

$\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{3} & {t_{3} \notin {R_{stop}(k)}} \\ {\max \left( {\frac{{2{\pi \left( {k_{3} - 1} \right)}} + \phi_{a}}{M},t_{4}} \right)} & {t_{3} \in {R_{stop}\left( k_{3} \right)}} \end{matrix};} \right.$

if t₃<4, then

$\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{4} & {t_{4} \notin {R_{pass}(k)}} \\ {\max \left( {\frac{{2\pi \; k_{4}} - \theta_{a}}{M},t_{3}} \right)} & {t_{4} \in {R_{pass}\left( k_{4} \right)}} \end{matrix};} \right.$

(a) when H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band,

t ₃=(2π(q−1)+ω_(sma) ⁽²⁾)/Q;

(b) when the complement of H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band,

t ₃=(2π(q−1)+ω_(sma) ⁽²⁾)/Q;

(c) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band,

t ₄=(2π(p−1)+ω_(sma) ⁽²⁾)/P;

(d) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band,

t ₄=(2π(p−1)+ω_(sma) ⁽²⁾)/P;

wherein t₃ and t₄ are left passband edges of the passband including the transition band and a first passband on the left of the transition band, respectively; k₃ is an integer satisfying t₃εR_(stop)(k₃); k₄ is an integer satisfying t₄εR_(pass)(k₄); P, Q, M are interpolation factors; θ_(a) is a passband edge of H_(a) ⁽²⁾(z); H_(ma) ⁽¹⁾(z)ω_(a) is a stopband edge of H_(a) ⁽²⁾(z).

The present invention has the following beneficial effects:

according to the present invention, the restriction that the interpolation factors must satisfy the constraint condition M=kP=kQ in a conventional structure is broken by constructing an improved two-stage FRM filter structure, and the subfilters are optimized simultaneously by means of a nonlinear joint optimization method. Results indicate that, as compared to a conventional design method of a two-stage FRM filter, the complexity of a narrow-band FIR (Finite Impulse Response) filter can be reduced through design using the improved method, and power consumption is thus reduced in hardware implementation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a structural schematic diagram of an improved two-stage FRM filter of the present invention.

FIG. 2 is an amplitude response possibly existing in G(z) of the present invention.

FIG. 3 is an amplitude response of an up-branch of G(z) of the present invention.

FIG. 4 is an amplitude response of a down-branch of G(z) of the present invention.

FIG. 5 is a schematic diagram of calculation of a stopband edge ω_(sma) ⁽²⁾ in Case=A according to the present invention.

FIG. 6 is a schematic diagram of calculation of a passband edge ω_(pma) ⁽²⁾ in Case=A according to the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The present invention will be further illustrated below in combination with the accompanying drawings and embodiment.

The structure of an improved two-stage FRM filter is as shown in FIG. 1 in which M, P, Q are interpolation factors. A transfer function H(z) of the filter is expressed as the following formula:

H(z)=G(z)H _(ma) ⁽¹⁾(z)+(1−G(z))H _(mc) ⁽¹⁾(z),  (4)

G(z)=H _(a) ⁽²⁾(z ^(M))H _(ma) ⁽²⁾(z ^(P))+(1−H _(a) ⁽²⁾(z ^(M)))H _(mc) ⁽²⁾(z ^(Q)).  (5)

Z-transformation transfer function of G(z) is expressed as the formula (5), and the possible amplitude response existing therein is as shown in FIG. 2 in which ω_(p) and ω_(s) represent a passband edge and a stopband edge of the designed filter, respectively. It should be noted that the amplitude response of G(z) may be not periodic because of no any constraint among the interpolation factors M, P, Q. The passband and stopband edges ω_(pma) ⁽¹⁾ and ω_(sma) ⁽¹⁾ of a filter H_(ma) ⁽¹⁾(z) are as shown in FIG. 2. A distance between ω_(pma) ⁽¹⁾ and ω_(sma) ⁽¹⁾ is indicated by d₁, and a distance between ω_(pmc) ⁽¹⁾ and ω_(smc) ⁽¹⁾ is indicated by d₂.

It is assumed that the passband ripple and the stopband ripple of the filter are represented by δ_(p) and δ_(s), respectively. Since a conventional calculation way cannot be used to determine the passband and stopband edges of each subfilter, a new way is required to obtain them.

The transition band of the whole filter may be formed by H_(a) ⁽²⁾(z^(M)) or its complement, and therefore, there are two cases: Case A and Case B. In the Case A, the transition band of the filter is provided by H_(a) ⁽²⁾(z^(M)); in the Case B, the transition band of the filter is provided by the complement of H_(a) ⁽²⁾(z^(M)). Besides, masking may be achieved by H_(ma) ⁽²⁾(z^(P)) and H_(mc) ⁽²⁾(z^(Q)) or their complements. The following two parameters are defined to distinguish the above cases:

when H_(ma) ⁽²⁾(z^(P)) is used, Case_(p)=A, and when H_(ma) ⁽²⁾(z^(P)) is used, Case_(q)=A; when the complement of H_(ma) ⁽²⁾(z^(P)) is used, Case_(p)=B, and when the complement of H_(ma) ⁽²⁾(z^(P)) is used, Case_(q)=B.

Depending on the positions of the passband and stopband edges, there exist multiple cases for the improved structure. Now, it is first to focus on the design in Case A since Case A and Case B are similar. A set of interpolation factors [M, P, Q] leading to the lowest complexity of the filter may be found out through global search, and the complexity is decided by the number of multipliers. For the given M, P and Q, illustration will be made on how the parameters of these subfilters are determined below.

I. Calculation of the Passband and Stopband Edges of a Prototype Filter H_(a) ⁽²⁾(z)

The passband and stopband edges of the prototype filter H_(a) ⁽²⁾(z) are determined by a conventional way. The H_(a) ⁽²⁾(z) passband edge θ_(a) and the stopband edge φ_(a) of H_(a) ⁽²⁾(z) are obtained readily:

For Case A,

m=└ω _(p) M/2π┘,  (6a)

θ_(a)=ω_(p) M−2mπ,  (6b)

φ_(a)=ω_(s) M−2mπ.  (6c);

For Case B,

m=┌ω _(s) M/2π┐,  (7a)

θ_(a)=2mπ−ω _(s) M,  (7b)

φ_(a)=2mπ−ω _(p) M,  (7c)

wherein └x┘ represents a largest integer not more than x. ┌x┐ represents a smallest integer not less than x. whether the results satisfies 0<θ_(a)<φ_(a)<π is determined in the two cases respectively, and if not, the results are abandoned. The condition 0<θ_(a)<φ_(a)<π must be satisfied in both cases, and only one case meets the requirement.

II. Calculation of the Passband and the Stopband of Second-Stage Masking Filters

The passband and stopband edges of H_(ma) ⁽²⁾(z) and H_(mc) ⁽²⁾(z) are represented by ω_(pma) ⁽²⁾, ω_(sma) ⁽²⁾, ω_(pmc) ⁽²⁾ and ω_(smc) ⁽²⁾, respectively. In addition, passbands of H_(a) ⁽²⁾(Hω) from 0 to π in the step (2) are orderly represented by 0, 2, . . . ,

${2 \times \left\lfloor \frac{M}{2} \right\rfloor},$

and passbands of 1−H_(a) ⁽²⁾(Mω) from 0 to π are orderly represented by 1, 3, . . . ,

$2 \times {\left\lfloor \frac{M - 1}{2} \right\rfloor.}$

1) Case A

The amplitude response of the up-branch of G(z) is as shown in FIG. 3. Assuming that the passband labeled as 2m of H_(a) ⁽²⁾(Mω) provides the transition band, the passband of the masking filter from which the transition band is extracted is defined as an “effective passband”. With reference to FIG. 3, a restrictive condition is established to prevent d₁ from being too small: the passband 2m should be at least completely extracted. In order to prevent d₂ from being too small: a restrictive condition is also established: the passband 2(m+1) should completely fall outside an effective passband range. The two constraint conditions may also be described as follows:

1) the left passband edge x₁ of the effective passband should not be greater than the left edge ω₁ of the passband 2m; 2) the right passband edge x₂ of the effective passband should not be lower than the right edge ω₂ of the passband 2m; ω₂ 3) the right stopband edge x₃ of the effective passband should not be greater than the left edge ω₃ of the passband 2(m+1).

Relevant inequations and variable values are as shown in Table I in which

$0 \leq p \leq {\left\lfloor \frac{P}{2} \right\rfloor.}$

For the known set of interpolation factors [M, P, Q], if there exists p allowing ω_(pma) ⁽²⁾ and ω_(sma) ⁽²⁾ to satisfy the three inequations from (10a) to (10c), other filter parameters will be calculated continuously; or otherwise, this set of interpolation factors is abandoned. After the inequations are solved, upper and lower bounds of ω_(pma) ⁽²⁾ and ω_(sma) ⁽²⁾ may be obtained. The maximum of ω_(sma) ⁽²⁾ and the minimum of ω_(pma) ⁽²⁾ are taken, respectively, and then the transition band of the filter H_(ma) ⁽²⁾(z) is the widest. The values of ω_(pma) ⁽²⁾ and ω_(sma) ⁽²⁾ are as follows:

For Case_(p)=A,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - {\omega_{1}P}},{{\omega_{2}P} - {2\pi \; p}}} \right)}},} \\ {\omega_{sma}^{(2)} = {{\omega_{3}P} - {2\pi \; p}}} \end{matrix}.} \right. & (8) \end{matrix}$

For Case_(p)=B,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pma}^{(2)} = {{2\pi \; p} - {\omega_{3}P}}},} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{1}P} - {2{\pi \left( {p - 1} \right)}}},{{2\pi \; p} - {\omega_{2}P}}} \right)}} \end{matrix}.} \right. & (9) \end{matrix}$

TABLE I Variable Values And Inequations For Calculating The Passband And The Stopband Of H_(ma) ⁽²⁾ (z) In Case A $\begin{matrix} {Inequations} & \; \\ {{x_{1} \leq \omega_{1}} = \frac{{2\; \pi \; m} - \phi_{a}}{M}} & \left( {10\; a} \right) \\ {{x_{2} \geq \omega_{2}} = \omega_{p}} & \left( {10\; b} \right) \\ {{x_{3} \leq \omega_{2}} = \frac{{2\; {\pi \left( {m + 1} \right)}} - \phi_{a}}{M}} & \left( {10\; c} \right) \end{matrix}$ $\begin{matrix} {{Case}_{p} = A} & \; \\ {x_{1} = {\left( {{2\; \pi \; p} - \omega_{pma}^{(2)}} \right)\text{/}P}} & \left( {11\; a} \right) \\ {x_{2} = {\left( {{2\; \pi \; p} + \omega_{pma}^{(2)}} \right)\text{/}P}} & \left( {11\; b} \right) \\ {x_{3} = {\left( {{2\; \pi \; p} + \omega_{sma}^{(2)}} \right)\text{/}P}} & \left( {11\; c} \right) \\ {{Case}_{p} = B} & \; \\ {x_{1} = {\left( {{2\; \pi \; \left( {p - 1} \right)} + \omega_{sma}^{(2)}} \right)\text{/}P}} & \left( {12\; a} \right) \\ {x_{2} = {\left( {{2\; \pi \; p} - \omega_{sma}^{(2)}} \right)\text{/}P}} & \left( {12\; b} \right) \\ {x_{3} = {\left( {{2\; \pi \; p} - \omega_{pma}^{(2)}} \right)\text{/}P}} & \left( {12\; c} \right) \end{matrix}$

The passband and stopband edges of H_(mc) ⁽²⁾(z) may be obtained similarly. The amplitude response of the down-branch of G(z) is as shown in FIG. 4. To prevent d₁ from being too small, the passband 2(m−1) is fully reserved. To prevent d₂ from being too small, the passband (2m+1) is fully removed. Corresponding inequations and variable values are shown in Table II in which

$0 \leq q \leq {\left\lfloor \frac{q}{2} \right\rfloor.}$

If there exists the parameter q allowing ω_(pmc) ⁽²⁾ and ω_(smc) ⁽²⁾ to satisfy the four inequations from (14a) to (14d), other filter parameters will be calculated continuously; or otherwise, this set of interpolation factors is abandoned. To make the transition band of H_(mc) ⁽²⁾(z) widest, the maximum of ω_(smc) ⁽²⁾ and the minimum of ω_(pmc) ⁽²⁾ are taken, respectively.

For Case_(q)=A,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pmc}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{4}Q}},{{\omega_{5}Q} - {2\pi \; q}}} \right)}},} \\ {\omega_{smc}^{(2)} = {\min \left( {{{\omega_{6}Q} - {2\pi \; q}},{{2{\pi \left( {q + 1} \right)}} - {\omega_{7}Q}}} \right)}} \end{matrix}.} \right. & (12) \end{matrix}$

For Case_(q)=B,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pmc}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{6}Q}},{{\omega_{7}Q} - {2\pi \; q}}} \right)}},} \\ {\omega_{smc}^{(2)} = {\min \left( {{\omega_{4} - {2{\pi \left( {q - 1} \right)}}},{{2\pi \; q} - {\omega_{5}Q}}} \right)}} \end{matrix}.} \right. & (13) \end{matrix}$

TABLE II Variable Values And Inequations For Calculating The Passband And The Stopband Of H_(ma) ⁽²⁾ (z) In Case A $\begin{matrix} {Inequations} & \; \\ {{y_{1} \leq \omega_{4}} = \frac{{2\; {\pi \left( {m - 1} \right)}} + \phi_{a}}{M}} & \left( {14\; a} \right) \\ {{y_{2} \geq \omega_{5}} = \frac{{2\; \pi \; m} - \theta_{a}}{M}} & \left( {14\; b} \right) \\ {{y_{3} \leq \omega_{6}} = \omega_{s}} & \left( {14\; c} \right) \\ {{y_{4} \geq \omega_{7}} = \frac{{2\; {\pi \left( {m + 1} \right)}} - \theta_{a}}{M}} & \left( {14\; d} \right) \end{matrix}$ $\begin{matrix} {{Case}_{q} = A} & \; \\ {y_{1} = {\left( {{2\; \pi \; q} - \omega_{pma}^{(2)}} \right)\text{/}Q}} & \left( {15\; a} \right) \\ {y_{2} = {\left( {{2\; \pi \; q} + \omega_{pma}^{(2)}} \right)\text{/}Q}} & \left( {15\; b} \right) \\ {y_{3} = {\left( {{2\; \pi \; q} + \omega_{ama}^{(2)}} \right)\text{/}Q}} & \left( {15\; c} \right) \\ {y_{4} = {\left( {{2\; {\pi \left( {q + 1} \right)}} - \omega_{ama}^{(2)}} \right)\text{/}Q}} & \left( {15\; d} \right) \end{matrix}$ $\begin{matrix} {{Case}_{q} = B} & \; \\ {y_{1} = {\left( {{2\; {\pi \left( {q - 1} \right)}} + \omega_{sma}^{(2)}} \right)\text{/}Q}} & \left( {16\; a} \right) \\ {y_{2} = {\left( {{2\; \pi \; q} - \omega_{ama}^{(2)}} \right)\text{/}Q}} & \left( {16\; b} \right) \\ {y_{3} = {\left( {{2\; \pi \; q} - \omega_{pma}^{(2)}} \right)\text{/}Q}} & \left( {16\; c} \right) \\ {y_{4} = {\left( {{2\; \pi \; q} + \omega_{pma}^{(2)}} \right)\text{/}Q}} & \left( {16\; d} \right) \end{matrix}$

2) Case B

For Case B, the transition band of G(z) is formed by the complement of H_(a) ⁽²⁾(z^(M)). Determination of the passband and stopband edges of H_(ma) ⁽²⁾(z) is similar to solving of the passband and stopband edges of H_(mc) ⁽²⁾(z) in Case A. Corresponding inequations and parameters are as shown in Table III. The passband and stopband edges of H_(ma) ⁽²⁾(z) are shown below:

For Case_(p)=A,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - {P\; \omega_{4}}},{{\omega_{5}P} - {2\pi \; p}}} \right)}},} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{6}P} - {2\pi \; p}},{{2{\pi \left( {p + 1} \right)}} - {\omega_{7}P}}} \right)}} \end{matrix}.} \right. & (17) \end{matrix}$

For Case_(p)=B,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - \; {\omega_{6}P}},{{\omega_{7}P} - {2\pi \; p}}} \right)}},} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{4}P} - {2{\pi \left( {p - 1} \right)}}},{{2\pi \; p} - {\omega_{5}P}}} \right)}} \end{matrix}.} \right. & (18) \end{matrix}$

TABLE III Variable Values And Inequations For Calculating The Passband And The Stopband Of H_(ma) ⁽²⁾ (z) in Case B $\begin{matrix} {Inequations} & \; \\ {{y_{1} \leq \omega_{4}} = \frac{{2\; {\pi \left( {m - 1} \right)}} - \theta_{a}}{M}} & \left( {19\; a} \right) \\ {{y_{2} \geq \omega_{5}} = \frac{{2\; {\pi \left( {m - 1} \right)}} + \phi_{a}}{M}} & \left( {19\; b} \right) \\ {{y_{3} \leq \omega_{6}} = \omega_{s}} & \left( {19\; c} \right) \\ {{y_{4} \geq \omega_{7}} = \frac{{2\; \pi \; m} + \phi_{a}}{M}} & \left( {19\; d} \right) \end{matrix}$ $\begin{matrix} {{Case}_{p} = A} & \; \\ {y_{1} = {\left( {{2\; \pi \; p} - \omega_{pma}^{(2)}} \right)\text{/}P}} & \left( {20\; a} \right) \\ {y_{2} = {\left( {{2\; \pi \; p} + \omega_{pma}^{(2)}} \right)\text{/}P}} & \left( {20\; b} \right) \\ {y_{3} = {\left( {{2\; \pi \; p} + \omega_{sma}^{(2)}} \right)\text{/}P}} & \left( {20\; c} \right) \\ {y_{4} = {\left( {{2\; {\pi \left( {p + 1} \right)}} - \omega_{sma}^{(2)}} \right)\text{/}P}} & \left( {20\; d} \right) \end{matrix}$ $\begin{matrix} {{Case}_{p} = B} & \; \\ {y_{1} = {\left( {{2\; {\pi \left( {p - 1} \right)}} + \omega_{sma}^{(2)}} \right)\text{/}P}} & \left( {21\; a} \right) \\ {y_{2} = {\left( {{2\; \pi \; p} - \omega_{sma}^{(2)}} \right)\text{/}P}} & \left( {21\; b} \right) \\ {y_{3} = {\left( {{2\; \pi \; p} - \omega_{pma}^{(2)}} \right)\text{/}P}} & \left( {21\; c} \right) \\ {y_{4} = {\left( {{2\; \pi \; p} + \omega_{pma}^{(2)}} \right)\text{/}P}} & \left( {21\; d} \right) \end{matrix}$

Determination of the passband and stopband edges of H_(mc) ⁽²⁾(z) is similar to the method of calculating the passband and stopband edges of H_(ma) ⁽²⁾(z) in Case A. Corresponding inequations and parameters are shown in Table IV. The passband and stopband edges of H_(mc) ⁽²⁾(z) are shown below:

For Case_(q)=A,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pmc}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{1}Q}},{{\omega_{2}Q} - {2\pi \; q}}} \right)}},} \\ {\omega_{smc}^{(2)} = {{\omega_{3}Q} - {2\pi \; q}}} \end{matrix}.} \right. & (22) \end{matrix}$

For Case_(q)=B,

$\begin{matrix} \left\{ {\begin{matrix} {{\omega_{pmc}^{(2)} = {{2\pi \; q} - {\omega_{3}Q}}},} \\ {\omega_{smc}^{(2)} = {\min \left( {{{\omega_{1}Q} - {2{\pi \left( {q - 1} \right)}}},{{2\pi \; q} - {\omega_{2}Q}}} \right)}} \end{matrix}.} \right. & (23) \end{matrix}$

TABLE IV Variable Values And Inequations For Calculating The Passband And The Stopband Of H_(ma) ⁽²⁾ (z) In Case B $\begin{matrix} {Inequations} & \; \\ {{x_{1} \leq \omega_{1}} = \frac{{2\; {\pi \left( {m - 3} \right)}} + \theta_{a}}{M}} & \left( {24\; a} \right) \\ {{x_{2} \geq \omega_{2}} = \omega_{s}} & \left( {24\; b} \right) \\ {{x_{3} \leq \omega_{3}} = \frac{{2\; \pi \; m} + \theta_{a}}{M}} & \left( {24\; c} \right) \\ {{Case}_{q} = A} & \; \\ {x_{1} = {\left( {{2\; \pi \; q} - \omega_{pma}^{(2)}} \right)\text{/}Q}} & \left( {25\; a} \right) \\ {x_{2} = {\left( {{2\; \pi \; q} + \omega_{pma}^{(2)}} \right)\text{/}Q}} & \left( {25\; b} \right) \\ {x_{3} = {\left( {{2\; \pi \; q} + \omega_{sma}^{(2)}} \right)\text{/}Q}} & \left( {25\; c} \right) \end{matrix}$ $\begin{matrix} {{Case}_{q} = B} & \; \\ {x_{1} = {\left( {{2\; {\pi \left( {q - 1} \right)}} + \omega_{sma}^{(2)}} \right)\text{/}Q}} & \left( {26\; a} \right) \\ {x_{2} = {\left( {{2\; \pi \; q} - \omega_{sma}^{(2)}} \right)\text{/}Q}} & \left( {26\; b} \right) \\ {x_{3} = {\left( {{2\; \pi \; q} - \omega_{pma}^{(2)}} \right)\text{/}Q}} & \left( {26\; c} \right) \end{matrix}$

III. Calculation of the Passband and Stopband Edges of First-Stage Masking Filters

1) Case A

For a masking filter H_(ma) ⁽¹⁾(z), since the transition band of H(z) is provided by H_(a) ⁽²⁾(z^(M)), its passband edge ω_(pma) ⁽¹⁾ is equal to ω_(p). Determination of the stopband edges ω_(sma) ⁽¹⁾, ω_(sma) ⁽¹⁾ is as shown in FIG. 5.

The stopband edge ω_(sma) ⁽¹⁾ is the right endpoint of d₂. Therefore, the first masking filter passband on the right of the transition band is focused. The left stopband cutoff points of the two passbands are denoted as t₁ and t₂. It is required to find out the position of t₁ in H_(a) ⁽²⁾(Mω) and the position of t₂ in 1−H_(a) ⁽²⁾(Mω). The passband and stopband regions of H_(a) ⁽²⁾(Hω) may be obtained through the following formulas:

$\begin{matrix} {{{R_{pass}(k)} = \left\lbrack {\frac{{2\pi \; k} - \theta_{a}}{M},\frac{{2\pi \; k} + \theta_{a}}{M}} \right\rbrack},{k = 0},\ldots \mspace{14mu},\left\lfloor {M/2} \right\rfloor,} & (27) \\ {{{R_{stop}(k)} = \left\lbrack {\frac{{2\pi \; \left( {k - 1} \right)} + \phi_{a}}{M},\frac{{2\pi \; k} + \phi_{a}}{M}} \right\rbrack},{k = 0},\ldots \mspace{14mu},\left\lfloor {M/2} \right\rfloor,} & (28) \end{matrix}$

A temporary value of ω_(sma) ⁽¹⁾ is obtained according to the position of t₁, and denoted as ω_(sma) _(_) _(temp1) ⁽¹⁾:

$\begin{matrix} {\omega_{{sma}\; \_ \; {temp}\; 1}^{(1)} = \left\{ {\begin{matrix} t_{1} & {t_{1} \notin {R_{stop}(k)}} \\ \omega_{8} & {t_{1} \in {R_{stop}\left( k_{1} \right)}} \end{matrix},} \right.} & (29) \end{matrix}$

wherein ω₈ is the right endpoint of R_(stop)(k₁), and k₁ is an integer satisfying t₁εR_(stop)(k₁).

Another temporary value of ω_(sma) ⁽¹⁾ is obtained according to the position of t₂, and denoted as ω_(sma) _(_) _(temp2) ⁽¹⁾:

$\begin{matrix} {\omega_{{sma}\; \_ \; {temp}\; 2}^{(1)} = \left\{ {\begin{matrix} t_{2} & {t_{2} \notin {R_{pass}(k)}} \\ \omega_{9} & {t_{2} \in {R_{pass}\left( k_{2} \right)}} \end{matrix},} \right.} & (30) \end{matrix}$

wherein ω₉ is the right endpoint of R_(pass)(k₂), and k₂ is an integer satisfying t₂εR_(stop)(k₂).

The value of ω_(sma) ⁽¹⁾ is obtained through the following formula:

ω_(sma) ⁽¹⁾=min(ω_(sma) _(_) _(temp1) ⁽¹⁾,ω_(sma) _(_) _(temp2) ⁽¹⁾),  (31)

wherein parameters t₁, t₂, ω₈ and ω₉ are as shown in Table V.

TABLE V Variable Values For Calculating ω_(sma) ⁽¹⁾ in Case A Case_(p) = A t₁ = (2π(p + 1) − ω_(sma) ⁽²⁾)/P (32) Case_(p) = B t₁ = (2πp + ω_(pma) ⁽²⁾)/P (33) Case_(q) = A t₂ = (2π(q + 1) − ω_(smc) ⁽²⁾)/Q (34) Case_(q) = B t₂ = (2πq + ω_(pmc) ⁽²⁾)/Q (35) ω_(θ) = (2πk₁ − φ_(a))/M (36) ω_(φ) = (2πk₂ + θ_(a))/M (37)

For a masking filter H_(mc) ⁽¹⁾(z), its stopband edge ω_(smc) ⁽¹⁾ is equal to ω_(s), and only its passband edge ω_(pmc) ⁽¹⁾ needs to be determined. Calculation of ω_(pmc) ⁽¹⁾ is as shown in FIG. 6. Since ω_(pmc) ⁽¹⁾ is the left endpoint of d₁, for H_(ma) ⁽²⁾(Pω), only the passband including the transition band is focused, and for H_(mc) ⁽²⁾(Qω), only the first passband on the left of the transition band is focused. The left passband edges of the two passbands are defined as t₃ and t₄.

If t₃≧t₄, then

$\begin{matrix} {\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{3} & {t_{3} \notin {R_{stop}(k)}} \\ {\max \left( {\frac{{2\pi \; \left( {k_{3} - 1} \right)} + \phi_{a}}{M},t_{4}} \right)} & {t_{3} \in {R_{stop}\left( k_{3} \right)}} \end{matrix};} \right.} & (38) \end{matrix}$

if t₃<t₄, then

$\begin{matrix} {\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{4} & {t_{4} \notin {R_{pass}(k)}} \\ {\max \left( {\frac{{2\pi \; k_{4}} - \theta_{a}}{M},t_{3}} \right)} & {t_{4} \in {R_{pass}\left( k_{4} \right)}} \end{matrix},} \right.} & (39) \end{matrix}$

wherein the values of the parameters t₃ and t₄ are as shown in Table VI.

TABLE V Variable Values For Calculating ω_(pmc) ⁽¹⁾ in Case A Case_(p) = A t₂ = (2πp − ω_(pma) ⁽²⁾)/P (40) Case_(p) = B t₂ = (2π(p − 1) + ω_(sma) ⁽²⁾)/P (41) Case_(q) = A t₄ = (2πq − ω_(pmc) ⁽²⁾)/Q (42) Case_(q) = B t₄ = (2π(q − 1) + ω_(smc) ⁽²⁾)/Q (43)

2) Case B

In Case B, the ways of calculating ω_(sma) ⁽¹⁾ and ω_(pmc) ⁽¹⁾ are similar to those in Case A with corresponding parameters as shown in Table VII and Table VIII. It should be noted that the passband and stopband edges of all the subfilters must fall into the range from 0 to π; otherwise, the subsequent design of the set of interpolation factors [M, P, Q] is considered to be meaningless.

TABLE VII Variable Values For Calculating ω_(sma) ⁽¹⁾ in Case B Case_(p) = A t₂ = (2π(p + 1) − ω_(sma) ⁽²⁾)/P  44) Case_(p) = B t₂ = (2πp + ω_(pma) ⁽²⁾)/P (45) Case_(q) = A t₁ = (2π(q + 1) − ω_(sma) ⁽²⁾)/Q (46) Case_(q) = B t₁ = (2πq + ω_(pmc) ⁽²⁾)/Q (47) ω_(θ) = (2πk₁ + θ_(a))/M (48) ω_(φ) = (2πk₂ − φ_(a))/M (49)

TABLE VIII Variable Values For Calculating ω_(pmc) ⁽¹⁾ in Case B Case_(p) = A t₄ = (2πp − ω_(pma) ⁽²⁾)/P (50) Case_(p) = B t₄ = (2π(p − 1) + ω_(sma) ⁽²⁾)/P (51) Case_(q) = A t₂ = (2πq − ω_(pmc) ⁽²⁾)/Q (52) Case_(q) = B t₂ = (2π(q − 1) + ω_(smc) ⁽²⁾)/Q (53)

Optimization Method Step 1

Some sets having fewer multipliers are selected from all the effective sets of interpolation factors as optimization objects (generally not more than 105% of the lowest number of multipliers. Calculation of the number of multipliers is carried out through the following formula:

{circumflex over (N)} _(mult)=({circumflex over (N)} _(a) +{circumflex over (N)} _(ma2) +{circumflex over (N)} _(mc2))/2+└({circumflex over (N)} _(ma)+2)/2┘+└({circumflex over (N)} _(mc)+2)/2┘+3,  (54)

wherein {circumflex over (N)}_(a), {circumflex over (N)}_(ma2), {circumflex over (N)}_(mc2), {circumflex over (N)}_(ma) and {circumflex over (N)}_(mc) are filter orders estimated for H_(a) ⁽²⁾(z), H_(ma) ⁽²⁾(z), H_(mc) ⁽²⁾(z), H_(ma) ⁽¹⁾(z) and H_(mc) ⁽¹⁾(z), respectively, and wherein the orders may be obtained) by using the firpmord function in matlab.

Step 2

Each subfilter is designed according to the Parks-McClellan algorithm. As a matter of experience, after optimization, the order N_(a) of H_(a) ⁽²⁾(z) is equal to the estimated order {circumflex over (N)}_(a) while the orders N_(ma2), N_(mc2), N_(ma) and N_(mc) of the masking filters are 60% of the respective estimated orders. When the order of a subfilter is not an integer, it is rounded. It should be noted that the order of the prototype filter and the orders of the second-stage masking filters must be even numbers, while the orders of the two first-stage masking filters are simultaneously odd numbers or even numbers.

Step 3

The subfilters are simultaneously optimized by using a nonlinear optimization algorithm. A vector  defined as a combination of parameters of the subfilters is as shown below:

$\begin{matrix} {\varnothing = {\left\lbrack {{h_{ma}^{(1)}(0)},\ldots \mspace{14mu},{h_{ma}^{(1)}\left( \left\lfloor \frac{N_{ma}}{2} \right\rfloor \right)},{h_{m\; c}^{(1)}(0)},\ldots \mspace{14mu},{h_{m\; c}^{(1)}\left( \left\lfloor \frac{N_{m\; c}}{2} \right\rfloor \right)},{h_{ma}^{(2)}(0)},\ldots \mspace{14mu},{h_{ma}^{(2)}\left( \frac{N_{{ma}\; 2}}{2} \right)},{h_{m\; c}^{(2)}(0)},\ldots \mspace{14mu},{h_{m\; c}^{(2)}\left( \frac{N_{m\; c\; 2}}{2} \right)},{h_{a}^{(2)}(0)},\ldots \mspace{14mu},{h_{a}^{(2)}\left( \frac{N_{a}}{2} \right)}} \right\rbrack.}} & (55) \end{matrix}$

To optimize the filter parameters, the following object function should be minimized:

$\begin{matrix} {{E = {\max\limits_{\omega \in {{\lbrack{0,\omega_{p}}\rbrack}\bigcup{\lbrack{\omega_{s},\pi}\rbrack}}}\; {{{W(\omega)}\left\lbrack {{H\left( {\varnothing,\omega} \right)} - {D(\omega)}} \right\rbrack}}}},} & (56) \end{matrix}$

wherein H(,ω) is the zero phase frequency response of the system function H(z); D(ω) is an ideal zero phase frequency function; W(ω) is a weighted vector. For the passbands ωε[0,ω_(p)], W(ω) and D(ω) are equal to 1; for the stopbands ωε[ω_(s),π], W(ω) is equal to δ_(p)/δ_(s), and D(ω) is equal to 0.

This is a problem of minimization and maximization. The fminimax function in the optimization toolbox provided by MathWorks Company can solve this problem. To achieve more efficient optimization, non-uniform frequency points are employed; the closer to the regions of the passband edge and the stopband edge, the denser the frequency points. It is suggested that the frequency points within 10% region closest to the passband edge account for 25% of the total number of points, and it is the same as the stopband edge. During optimization using the fminimax function, the parameter requirements of a filter can be met only when E is not greater than δ_(p).

In order to find out the optimal solutions, for each set of interpolation factors, the order of each subfilter needs to be varied near the respective estimated order before optimization. As a matter of experience, the order of H_(a) ⁽²⁾(z) is not varied, and variation is only required to be made to the order of each masking filter. For N_(ma2), N_(mc2), N_(ma) and N_(mc), a range of variation is 4; the variation of N_(ma2) and N_(mc2) is 2, while the variation of N_(ma) and N_(mc) is 1. After optimization, there may exist multiple solutions satisfying filter specifications, and the one having the fewest multipliers is selected as the optimal solution. In case of multiple optimal solutions, the one having the smallest time delay is selected.

Example 1

The specific specifications of a filter having an extremely narrow transition band are as follows: ω_(p)=0.6π, ω_(s)=0.602π, δ_(p)=0.01, δ_(s)=0.01. By using the present design method, the final results are as follows: N_(a)=28, N_(ma2)=20, N_(mc2)=16, N_(ma)=17, N_(mc)=29. The three interpolation factors M, P, Q are 69, 9, 9, respectively, which fall into Case B type: Case_(p)=B, and Case_(q)=B. The number of multipliers is 59 with a group time delay being 1070.5. The passband and stopband ripples are 0.01 and 0.00999, respectively. Comparison of results of the method of the present invention with those of other existing methods is as shown in Table IX.

TABLE IX Results of Designing Filter Using Various Methods in Example 1 And Comparison Thereof Total Group Number Of Time Method Multipliers Delay Conventional 92 1105 two-stage FRM SFFM-FRM case A 86 1638.5 SFFM-FRM case B 84 2150.5 Serial-masking FRM 83 1016 Non-periodical FRM 55 1214 Improved method 59 1070.5

As can be seen from Table IX, when compared with the conventional two-stage FRM, SFFM and serial-masking FRM methods, the method provided by the present invention is lower in complexity. When compared with the conventional two-stage FRM, the complexity is reduced by 35.8%; when compared with the SFFM-FRM, it is reduced by 31.4%; when compared with a serial-masking filter, it is reduced by 28.9%. When compared with the Non-periodical FRM, although the number of multipliers is increased by 7.3%, the group time delay is reduced by 11.8%. The time delay in the result of the present method is the smallest when compared with other methods apart from the Serial-masking FRM. Although the time delay is increased by 5.1% in contrast with the Serial-masking FRM, the number of multipliers is reduced by 28.9%.

The constraint conditions among the interpolation factors of a conventional FRM filter are broken through a new design method, and the subfilters are optimized simultaneously by means of a nonlinear joint optimization method. Results indicate that, as compared to a conventional design method of a two-stage FRM filter, a filter designed using the improved method is lower in complexity.

While the specific embodiments of the present invention are described above in conjunction with the accompanying drawings, they are not limitations to the protection scope of the present invention. It should be understood by those skilled in the relevant art that various modifications or variations made by those skilled in the art without creative work on the basis of the technical scheme of the present invention still fall into the protection range of the present invention. 

1. An improved design method of a two-stage FRM filter, comprising the following steps: (1) constructing an improved two-stage FRM filter having a transfer function H(z) as follows: H(z)=G(z)H _(ma) ⁽¹⁾(z)+(1−G(z))H _(mc) ⁽¹⁾(z), wherein G(z)=H_(a) ⁽²⁾(z^(M))H_(ma) ⁽²⁾(z^(P))+(1−H_(a) ⁽²⁾(z^(M)))H_(mc) ⁽²⁾(z^(Q)) without any constraint among interpolation factors M, P, Q; H_(a) ⁽²⁾(z^(M)) represents a prototype filter, while H_(ma) ⁽¹⁾(z) and H_(mc) ⁽¹⁾(z) represent first-stage masking filters, respectively, and H_(ma) ⁽²⁾(z^(P)) and H_(mc) ⁽²⁾(z^(Q)) represent second-stage masking filters, respectively; (2) searching within a search range for [M, P, Q], and for a certain set [M, P, Q], calculating passband and stopband edge parameters of the prototype filter H_(a) ⁽²⁾(z), passband and stopband edge parameters of the second-stage masking filters and passband and stopband edge parameters of the first-stage masking filters in Case A and Case B, respectively, on the basis that a transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)) or a complement of H_(a) ⁽²⁾(z^(M)); and calculating the complexity of the FRM filter according to the obtained parameters, and finding out one or more sets [M, P, Q] having the lowest complexity within the search range; (3) optimizing the improved FRM filter according to the calculated filter parameters.
 2. The improved design method of a two-stage FRM filter according to claim 1, wherein a way of calculating the passband edge θ_(a) and the stopband edge φ_(a) of the prototype filter H_(a) ⁽²⁾(z^(M)) in the step (2) is as follows: when the transition band of the whole filter is H_(a) ⁽²⁾(z^(M)), i.e., in the Case A: m=└ω _(p) M/2π┘, θ_(a)=ω_(p) M−2mπ, φ_(a)=ω_(s) M−2mπ; when the transition band of the whole filter is the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B: m=┌ω _(s) M/2π┐, θ_(a)=2mπ−ω _(s) M, φ_(a)=2mπ−ω _(p) M; wherein └x┘ represents a largest integer not more than x; ┌x┐ represents a smallest integer not less than x; whether the result satisfies 0<θ_(a)<φ_(a)<π is determined in the two cases respectively, and if not, the results are abandoned.
 3. The improved design method of a two-stage FRM filter according to claim 1, wherein passbands of H_(a) ⁽²⁾(Mω) from 0 to π the step (2) are orderly represented by 0, 2, . . . , ${2 \times \left\lfloor \frac{M}{2} \right\rfloor},$ and passbands of 1−H_(a) ⁽²⁾(Mω) from 0 to π are orderly represented by 1, 3, . . . , ${2 \times \left\lfloor \frac{M - 1}{2} \right\rfloor};$ assuming that the passband labeled as 2m of H_(a) ⁽²⁾(Mω) provides the transition band, the passband of the masking filter from which the transition band is extracted is defined as an effective passband; and in order to reduce the complexity of the two first-stage masking filters, the following restrictive conditions are established: the passband 2m should be at least completely extracted; the passband 2(m+1) should be completely fall outside an effective passband range.
 4. The improved design method of a two-stage FRM filter according to claim 1, wherein when the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A, a way of calculating the passband edge ω_(pma) ⁽²⁾ and the stopband edge ω_(sma) ⁽²⁾ of the second-stage masking filter H_(ma) ⁽²⁾(z) is as follows: (1) when masking is provided by H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=A: $\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - \; {\omega_{1}P}},{{\omega_{2}P} - {2\pi \; p}}} \right)}} \\ {\omega_{sma}^{(2)} = {{\omega_{3}P} - {2\pi \; p}}} \end{matrix};} \right.$ (2) when masking is provided by the complement of H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=B: $\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {{2\pi \; p} - {\omega_{2}P}}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{1}P} - {2{\pi \left( {p - 1} \right)}}},{{2\pi \; p} - {\omega_{2}P}}} \right)}} \end{matrix};} \right.$ wherein ω₁ is a left edge of the passband 2m of the prototype filter, while ω₂ is a right edge of the passband 2m of the prototype filter, and ω₃ is a left edge of the passband 2(m+1) of the prototype filter; P is the interpolation factor, which is a given value; p is an integer, and should satisfy the following condition: ${0 \leq p \leq \left\lfloor \frac{P}{2} \right\rfloor};$ if no p satisfying the condition exists, the set of parameters is abandoned.
 5. The improved design method of a two-stage FRM filter according to claim 1, wherein when the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A, a way of calculating the passband edge ω_(pmc) ⁽²⁾ and the stopband edge ω_(smc) ⁽²⁾ of the second-stage masking filter H_(ma) ⁽²⁾(z) is as follows: (1) when masking is provided by H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=A: $\left\{ {\begin{matrix} {\omega_{pmc}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{4}Q}},{{\omega_{5}Q} - {2\pi \; q}}} \right)}} \\ {\omega_{smc}^{(2)} = {\min \left( {{{\omega_{6}Q} - {2\pi \; q}},{2{\pi \left( {q + 1} \right)}},{{- \omega_{7}}Q}} \right)}} \end{matrix};} \right.$ (2) when masking is provided by the complement of H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=B: $\left\{ {\begin{matrix} {\omega_{pmc}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{6}Q}},{{\omega_{7}Q} - {2\pi \; q}}} \right)}} \\ {\omega_{smc}^{(2)} = {\min \left( {{{\omega_{4}Q} - {2{\pi \left( {q - 1} \right)}}},{{2\pi \; q} - {\omega_{5}Q}}} \right)}} \end{matrix};} \right.$ wherein ω₄ is a left passband edge of the complementary filter passband 2m−1 of the prototype filter; ω₅ is a right stopband edge of the complementary filter passband 2m−1 of the prototype filter; ω₆ is a left passband edge of the complementary filter passband 2m+1 of the prototype filter; ω₇ is a right stopband edge of the complementary filter passband 2m+1 of the prototype filter; q is an integer, and should satisfy the following condition: ${0 \leq q \leq \left\lfloor \frac{q}{2} \right\rfloor};$ if no q satisfying the condition exists, the set of parameters is abandoned.
 6. The improved design method of a two-stage FRM filter according to claim 1, wherein when the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B, a way of calculating the passband edge ω_(pma) ⁽²⁾ and the stopband edge ω_(sma) ⁽²⁾ of the second-stage masking filter H_(ma) ⁽²⁾(z) is as follows: (1) when masking is provided by H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=A: $\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - {P\; \omega_{4}}},{{\omega_{5}P} - {2\pi \; p}}} \right)}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{6}P} - {2\pi \; p}},{2{\pi \left( {p + 1} \right)}},{{- \omega_{7}}P}} \right)}} \end{matrix};} \right.$ (2) when masking is provided by the complement of H_(ma) ⁽²⁾(z^(P)), the case is denoted as Case_(p)=B: $\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; p} - {\omega_{6}P}},{{\omega_{7}P} - {2\pi \; p}}} \right)}} \\ {\omega_{sma}^{(2)} = {\min \left( {{{\omega_{4}P} - {2{\pi \left( {p - 1} \right)}}},{{2\pi \; p} - {\omega_{5}P}}} \right)}} \end{matrix};} \right.$ wherein ω₄ is a left passband edge of the passband 2(m−1) of the prototype filter; ω₅ is a right stopband edge of the passband 2(m−1) of the prototype filter; ω₆ is a left passband edge of the passband 2m of the prototype filter; ω₇ is a right stopband edge of the passband 2m of the prototype filter; p is an integer, and should satisfy the following condition: ${0 \leq p \leq \left\lfloor \frac{P}{2} \right\rfloor};$ if no p satisfying the condition exists, the set of parameters is abandoned.
 7. The improved design method of a two-stage FRM filter according to claim 1, wherein when the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B, a way of calculating the passband edge ω_(pmc) ⁽²⁾ and the stopband edge ω_(smc) ⁽²⁾ of the second-stage masking filter H_(ma) ⁽²⁾(z) is as follows: (1) when masking is provided by H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=A: $\left\{ {\begin{matrix} {\omega_{pma}^{(2)} = {\max \left( {{{2\pi \; q} - {\omega_{1}Q}},{{\omega_{2}Q} - {2\pi \; q}}} \right)}} \\ {\omega_{sma}^{(2)} = {{\omega_{3}Q} - {2\pi \; q}}} \end{matrix};} \right.$ (2) when masking is provided by the complement of H_(mc) ⁽²⁾(z^(Q)), the case is denoted as Case_(q)=B: $\left\{ {\begin{matrix} {\omega_{pmc}^{(2)} = {{2\pi \; q} - {\omega_{2}Q}}} \\ {\omega_{smc}^{(2)} = {\min \left( {{{\omega_{1}Q} - {2{\pi \left( {q - 1} \right)}}},{{2\pi \; q} - {\omega_{2}Q}}} \right)}} \end{matrix};} \right.$ wherein ω₁ is a left stopband edge of the complementary filter passband 2m−1 of the prototype filter; ω₂ is a right passband edge of the complementary filter passband 2m−1 of the prototype filter; ω₃ is a left stopband edge of the complementary filter passband 2m+1 of the prototype filter; q is an integer, and should satisfy the following condition: ${0 \leq q \leq \left\lfloor \frac{q}{2} \right\rfloor};$ if no q satisfying the condition exists, the set of parameters is abandoned.
 8. The improved design method of a two-stage FRM filter according to claim 1, wherein when the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A: the passband edge ω_(pma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is equal to ω_(p); a way of calculating the stopband edge ω_(sma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is as follows: ω_(sma)⁽¹⁾ = min (ω_(sma _ temp 1)⁽¹⁾, ω_(sma _ temp 2)⁽¹⁾), wherein $\omega_{{sma}\; \_ \; {temp}\; 1}^{(1)} = \left\{ {\begin{matrix} t_{1} & {t_{1} \notin {R_{stop}(k)}} \\ \omega_{8} & {t_{1} \in {R_{stop}\left( k_{1} \right)}} \end{matrix},{\omega_{{sma}\; \_ \; {temp}\; 2}^{(1)} = \left\{ {\begin{matrix} t_{2} & {t_{2} \notin {R_{pass}(k)}} \\ \omega_{9} & {t_{2} \in {R_{pass}\left( k_{2} \right)}} \end{matrix},{{\omega_{\theta} = {\left( {{2\pi \; k_{1}} = \phi_{a}} \right)/M}};{\omega_{9} = {\left( {{2\pi \; k_{2}} - \theta_{a}} \right)/M}};{{R_{pass}(k)} = \left\lbrack {\frac{{2\pi \; k} - \theta_{a}}{M},\frac{{2\pi \; k} + \theta_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;{{R_{stop}(k)} = \left\lbrack {\frac{{2\pi \; \left( {k - 1} \right)} + \phi_{a}}{M},\frac{{2\pi \; k} + \phi_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;}} \right.}} \right.$ (1) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band of an up-branch, t ₁=(2π(p+1)−ω_(sma) ⁽²⁾)/P; (2) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking the unnecessary band of the up-branch, t ₁=(2πp+ω _(pma) ⁽²⁾)/P; (3) when H_(mc) ⁽²⁾(Z^(Q)) is used for masking unnecessary band of a down-branch, t ₂=(2π(q+1)−ω_(smc) ⁽²⁾)/Q; (4) when a down-branch complement H_(mc) ⁽²⁾(Z^(Q)) is used for masking unnecessary band, t ₂=(2πq+ω _(pmc) ⁽²⁾)/Q; wherein P, Q, M are interpolation factors; ω₈ is a right endpoint of R_(stop)(k₁); k₁ is an integer satisfying t₁εR_(stop)(k₁); ω₉ is a right endpoint of R_(pass)(k₂); k₂ is an integer satisfying t₂εR_(stop)(k₂); θ_(a) is a passband edge of H_(a) ⁽²⁾(z); H_(ma) ⁽¹⁾(z)φ_(a) is a stopband edge of H_(a) ⁽²⁾(z).
 9. The improved design method of a two-stage FRM filter according to claim 1, wherein when the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B: the passband edge ω_(pma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is equal to ω_(p); a way of calculating the stopband edge ω_(sma) ⁽¹⁾ of the first-stage masking filter H_(ma) ⁽¹⁾(z) is as follows: ω_(sma)⁽¹⁾ = min (ω_(sma _ temp 1)⁽¹⁾, ω_(sma _ temp 2)⁽¹⁾), wherein $\omega_{{sma}\; \_ \; {temp}\; 1}^{(1)} = \left\{ {\begin{matrix} t_{1} & {t_{1} \notin {R_{stop}(k)}} \\ \omega_{8} & {t_{1} \in {R_{stop}\left( k_{1} \right)}} \end{matrix},{\omega_{{sma}\; \_ \; {temp}\; 2}^{(1)} = \left\{ {\begin{matrix} t_{2} & {t_{2} \notin {R_{pass}(k)}} \\ \omega_{9} & {t_{2} \in {R_{pass}\left( k_{2} \right)}} \end{matrix},{{\omega_{\theta} = {\left( {{2\pi \; k_{1}} = \theta_{a}} \right)/M}};{\omega_{9} = {\left( {{2\pi \; k_{2}} - \phi_{a}} \right)/M}};{{R_{pass}(k)} = \left\lbrack {\frac{{2\pi \; k} - \theta_{a}}{M},\frac{{2\pi \; k} + \theta_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;{{R_{stop}(k)} = \left\lbrack {\frac{{2\pi \; \left( {k - 1} \right)} + \phi_{a}}{M},\frac{{2\pi \; k} + \phi_{a}}{M}} \right\rbrack}},{k = 0},\ldots \mspace{14mu},{\left\lfloor {M/2} \right\rfloor;}} \right.}} \right.$ (1) when H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band, t ₁=(2π(q+1)−ω_(smc) ⁽²⁾)/Q; (2) when the complement of H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band, t ₁=(2πq+ω _(pmc) ⁽²⁾)/Q; (3) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band, t ₂=(2π(p+1)−ω_(sma) ⁽²⁾)/P; (4) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band, t ₂=(2πp+ω _(pma) ⁽²⁾)/P; wherein ω₈ is a right endpoint of R_(stop)(k₁); k₁ is an integer satisfying t₁εR_(stop)(k₁); ω₉ is a right endpoint of R_(pass)(k₂); k₂ is an integer satisfying t₂εR_(stop)(k₂); P, Q, M are interpolation factors; θ_(a) is a passband edge of H_(a) ⁽²⁾(z); H_(ma) ⁽¹⁾(z)φ_(a) is a stopband edge of H_(a) ⁽²⁾(z).
 10. The improved design method of a two-stage FRM filter according to claim 1, wherein (1) when the transition band of the whole filter is provided by H_(a) ⁽²⁾(z^(M)), i.e., in the Case A: the stopband edge ω_(smc) ⁽¹⁾ of the first-stage masking filter H_(mc) ⁽¹⁾(z) is equal to ω_(s); a way of determining the passband edge ω_(pmc) ⁽¹⁾ of the first-stage masking filter is as follows: if t₃≧t₄, then $\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{3} & {t_{3} \notin {R_{stop}(k)}} \\ {\max \left( {\frac{{2\pi \; \left( {k_{3} - 1} \right)} + \phi_{a}}{M},t_{4}} \right)} & {t_{3} \in {R_{stop}\left( k_{3} \right)}} \end{matrix};} \right.$ if t₃<t₄, then $\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{4} & {t_{4} \notin {R_{pass}(k)}} \\ {\max \left( {\frac{{2\pi \; k_{4}} - \theta_{a}}{M},t_{3}} \right)} & {t_{4} \in {R_{pass}\left( k_{4} \right)}} \end{matrix};} \right.$ (a) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band, t ₃=(2πp−ω _(pma) ⁽²⁾)/P; (b) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band, t ₃=(2π(p−1)+ω_(sma) ⁽²⁾)/P; (c) when H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band, t ₄=(2πq−ω _(pma) ⁽²⁾)/Q; (d) when the complement of H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band, t ₄=(2π(q−1)+ω_(sma) ⁽²⁾)/Q; (2) when the transition band of the whole filter is provided by the complement of H_(a) ⁽²⁾(z^(M)), i.e., in the Case B: the stopband edge ω_(smc) ⁽¹⁾ of the first-stage masking filter H_(mc) ⁽¹⁾(z) is equal to ω_(s); a way of determining the passband edge ω_(pmc) ⁽¹⁾ of the first-stage masking filter H_(mc) ⁽¹⁾(z) is as follows: if t₃≧t₄, then $\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{3} & {t_{3} \notin {R_{stop}(k)}} \\ {\max \left( {\frac{{2\pi \; \left( {k_{3} - 1} \right)} + \phi_{a}}{M},t_{4}} \right)} & {t_{3} \in {R_{stop}\left( k_{3} \right)}} \end{matrix};} \right.$ if t₃<t₄, then $\omega_{pmc}^{(1)} = \left\{ {\begin{matrix} t_{4} & {t_{4} \notin {R_{pass}(k)}} \\ {\max \left( {\frac{{2\pi \; k_{4}} - \theta_{a}}{M},t_{3}} \right)} & {t_{4} \in {R_{pass}\left( k_{4} \right)}} \end{matrix};} \right.$ (a) when H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band, t ₃=(2π(q−1)+ω_(sma) ⁽²⁾)/Q; (b) when the complement of H_(mc) ⁽²⁾(z^(Q)) is used for masking unnecessary band, t ₃=(2π(q−1)+ω_(sma) ⁽²⁾)/Q; (c) when H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band, (d) when the complement of H_(ma) ⁽²⁾(z^(P)) is used for masking unnecessary band, t ₄=(2π(p−1)+ω_(sma) ⁽²⁾)/P; wherein t₃ and t₄ are left passband edges of the passband including the transition band and a first passband on the left of the transition band, respectively; k₃ is an integer satisfying t₃εR_(stop)(k₃); k₄ is an integer satisfying t₄εR_(pass)(k₄); P, Q, M are interpolation factors; θ_(a) is a passband edge of H_(a) ⁽²⁾(z); H_(ma) ⁽¹⁾(z)φ_(a) is a stopband edge of H_(a) ⁽²⁾(z). 